#!/usr/bin/python3
# -*- coding:utf-8 -*-
""""
   @Author: 叶建伟
   @Email: yejw46507@hundsun.com
   @Time: 2022/6/7 13:36
   @File: 线下客户管理_修改.py
"""
import time

from BladeFerm.hui2_app import FE

from 线下客户管理.线下客户共用脚本.open_menu import open_menu,arm_form_fill
from 基础公共脚本.步骤检查_hui2 import check_table, check_table_rows
from 基础公共脚本.common_util import click_next,auto_fill_form,click_submit,click_cancel,refresh_click,click_confirm,click_save,click_title_button
from 基础公共脚本.common import Table

def client_offline_update(input_data=None, ui_expect=None):
    # 进入 风险等级查询 菜单 线下客户管理/线下客户管理
    open_menu({'子系统名称': '反洗钱系统', '菜单名称': '线下客户管理/线下客户管理'})
    # 资源设置搜索框表单填入
    FE.table().click_button_in_cell({'客户名称':input_data.get("证件信息").get("客户名称")}, "操作",'修改', True)
    time.sleep(1)
    #证件信息
    input_data.get("证件信息").pop("客户名称")
    auto_fill_form("证件有效截止日期", input_data.get("证件信息"))
    time.sleep(1)
    if input_data.get("附件名称"):
        FE.table().click_button_in_cell({'附件名称': input_data.get("附件名称")}, "操作", '删除', True)
        click_confirm()
    time.sleep(1)
    if input_data.get("附件信息"):
        FE.button(idname={'xpath': '//p[text()="附件上传"]'}).click()
        Table().enclosure_import(input_data.get("附件信息"))
    time.sleep(1)
    click_next()
    # 基本信息
    if input_data.get("基本信息"):
        auto_fill_form(text="住所地或工作单位地址", input_data=input_data.get("基本信息"))
    time.sleep(1)
    #代理人信息
    if input_data.get("代理人信息"):
        auto_fill_form(text="证件有效截止日期", input_data=input_data.get("代理人信息"))
    time.sleep(1)
    # 受益所有人信息
    if input_data.get("受益所有人信息"):
        data = input_data.get("受益所有人信息")
        if data.pop('受益所有人信息')=="编辑":
            FE.table().click_button_in_cell({'名称': data.get("名称")}, "操作", '编辑', True)
            auto_fill_form("受益所有人名称", data)
            click_save()
        elif data.pop('受益所有人信息') == "新增":
            FE.button(idname={'xpath': '//div[@class="base-info"]/h2[contains(text(), "受益所有人信息")]/p'}).click()
            auto_fill_form("受益所有人名称", data)
            click_save()
        elif data.pop('受益所有人信息') == "删除":
            FE.table().click_button_in_cell({'名称': data.get("名称")}, "操作", '删除', True)
    time.sleep(1)
    if input_data.get("控股股东信息"):
        data = input_data.get("控股股东信息")
        if data.pop('控股股东信息')=="编辑":
            FE.table().click_button_in_cell({'名称': data.get("名称")}, "操作", '编辑', True)
            From_ps = FE.form(idname={
                'xpath': '//div[@class="amlps-msg-header" and contains(text(),"控股股东信息")]/parent::div/parent::div/descendant::form'})
            From_ps.auto_fill(data)
            click_save()
        elif data.pop('控股股东信息') == "新增":
            FE.button(idname={'xpath': '//div[@class="base-info"]/h2[contains(text(), "控股股东信息")]/p'}).click()
            From_ps = FE.form(idname={
                'xpath': '//div[@class="amlps-msg-header" and contains(text(),"控股股东信息")]/parent::div/parent::div/descendant::form'})
            From_ps.auto_fill(data)
            click_save()
        elif data.pop('控股股东信息') == "删除":
            FE.table().click_button_in_cell({'名称': data.get("名称")}, "操作", '删除', True)
    time.sleep(1)
    if input_data.get("银行卡信息"):
        data = input_data.get("银行卡信息")
        if data.pop('银行卡信息')=="编辑":
            FE.table().click_button_in_cell({'银行卡户名': data.get("银行卡户名")}, "操作", '编辑', True)
            auto_fill_form("银行卡户名", input_data.get("银行卡信息"))
            click_save()
        elif data.pop('银行卡信息')=="新增":
            FE.button(idname={'xpath': '//div[@class="base-info"]/h2[contains(text(), "银行卡信息")]/p'}).click()
            auto_fill_form("银行卡户名", input_data.get("银行卡信息"))
            click_save()
        elif data.pop('银行卡信息') == "删除":
            FE.table().click_button_in_cell({'银行卡户名': data.get("银行卡户名")}, "操作", '删除', True)
    time.sleep(1)
    click_submit()
    time.sleep(1)
    # 检查查询结果
    check_table_rows(input_data=None, ui_expect=ui_expect)

def client_offline_update_cancel(input_data=None, ui_expect=None):
    # 进入 风险等级查询 菜单 线下客户管理/线下客户管理
    open_menu({'子系统名称': '反洗钱系统', '菜单名称': '线下客户管理/线下客户管理'})
    # 资源设置搜索框表单填入
    FE.table().click_button_in_cell({'客户名称':input_data.get("证件信息").get("客户名称")}, "操作",'修改', True)
    time.sleep(1)
    input_data.get("证件信息").pop("客户名称",None)

    #证件信息
    auto_fill_form(text="证件有效截止日期", input_data=input_data.get("证件信息"))
    time.sleep(2)
    click_next()
    # 基本信息
    if input_data.get("基本信息"):
        auto_fill_form(text="住所地或工作单位地址", input_data=input_data.get("基本信息"))


    #代理人信息
    if input_data.get("代理人信息"):
        auto_fill_form(text="证件有效截止日期", input_data=input_data.get("代理人信息"))
    FE.button(idname={"xpath":'//div[@class="app-main"]/div/div/button/span[text()="取消"]'}).click()
    time.sleep(2)
    refresh_click()
    # 检查查询结果
    check_table_rows(input_data=None, ui_expect=ui_expect)